Computer graphics systems typically generate what appears to be a 3D object on a two-dimensional (“2D”) display by generating 2D views of the 3D object that are modeled in computer memory. The graphics system typically renders a 3D graphic of the object by subdividing the 3D object into a model or mesh having a set of polygons, and then projecting that model or mesh into 2D space based on the point of view of a camera that records an image of the object. The polygons are then typically sorted by depth in the z-axis using z-buffering or other techniques, so that polygons which would have been occluded in a true 3D environment are hidden.
In general, the surface area of the 3D object is defined by a texture map, which is an efficient way to describe the details of an image. The texture map is generally a two-dimensional array of texture pixels, known as texels, created off-line. These values may define color, reflectivity, surface roughness, transparency, or virtually any other attribute. For example, a 3D object of a soccer ball may have an associated texture map that defines its general color as white with black hexagonal lines.
Historically, while the data for the 3D model or mesh is vector-based polygons, the associated texture map for the model or mesh is a set of raster-based bitmap images. The bitmap images typically define the kind of photo-realistic textures that would appear in a naturalistic 3D environment. In one exemplary prior art system, a 3D rasterizer takes a projected soccer ball, looks at each pixel in (x, y, z) space, and correlates it to a texel on a corresponding (u, v) texture map.
One downside of bitmaps is that any raster image is a defined set of pixels, and thus scales with a loss of clarity. This is in contrast to vector graphics, which use a set of geometrical data such as curves and points to define an object. In 2D computer graphics, bitmaps are generally used for photorealistic images, and vectors are generally used for illustrations, logos, typography, or highly stylized graphics. In those cases, the vector graphics results in much smaller data size, as well as resolution independence.